/*

	题目 2：猜数字游戏  
	**规则**：  
	1. 程序随机生成一个 1~100 的整数（用 `Math.random()`）。  
	2. 用户最多猜 5 次，每次提示“大了”或“小了”。  
	3. 若猜中，立即结束循环并输出“成功”；若 5 次未中，输出“失败”。  

	**示例**：  
	```  
	输入：50 → 提示“小了”  
	输入：75 → 提示“大了”  
	输入：63 → 猜中！  
	```  

*/


/*
	思路分析：
	1.定义一个变量来保存这个整数
	2.构造1-100的整数
	3.
	（1）使用循环
		for和while
		四要素：
			（1）循环变量：i
			（2）循环条件：没输对并且猜的次数没达到
			（3）循环变量的迭代：i++
			（4）循环内容：每次执行判断数字是大了还是小了还是猜对了
	（2）使用判断
		多分支 
			大了
			小了
			成功
	4.break（结束循环）---猜对了的时候 
	5.使用判断
		单分支
			失败

*/

/*
// 1.每次都要执行判断
// 2.count <= 6 没有实际意义 容易给人造成误解
// 3.逻辑混杂 循环内容和判断失败混杂 一个方法（函数）只做一件事情（锻炼封装能力）

let num = Math.floor(Math.random() * 100) + 1;
console.log(num);
let count = 1;

while (count <= 6) {
	if (count == 6) {
		console.log("失败了", num);
		break;
	}else {
		// 此时有一个猜测的数字 这个数字是用户输入的
		let guess = prompt("请输入猜测的数字（1-100）：")
		if (guess == num) {
			console.log("恭喜！猜中了！")
			break;
		}else if (guess > num) {
			console.log("大了！")
		}else {
			console.log("小了！")
		}
	}
	
	if (guess != num && count == 5) {
		console.log("失败", num);
		break;
	}


	count++; // 6
	
} */


let num = Math.floor(Math.random() * 100) + 1;
console.log(num);
let count = 1;

// 设置标志位 (重要知识！！)
let isWin = false;
const guessCount = 6;

while (count <= guessCount) {
	// 此时有一个猜测的数字 这个数字是用户输入的 
	// prompt函数的返回值是一个字符串 可以通过parseInt()函数进行转换 
	let guess = Number(prompt("请输入猜测的数字（1-100）："));
	// 建议使用三个等号
	if (guess == num) {
		isWin = true;
		console.log("恭喜！猜中了！")
		break;
	}else if (guess > num) {
		console.log("大了！")
	}else {
		console.log("小了！")
	}

	count++; // 6
} 

if (isWin == false) {
	console.log("失败", num);
}

// 必须结合前面的逻辑去判断此含义才可以知道
// if (count == guessCount + 1) {
// 	console.log("失败", num);
// }
















